package com.woniuxy.carlife.carlifeuserweb.service;

import com.sun.javaws.exceptions.CacheAccessException;
import com.woniuxy.carlife.carlifecommonsweb.exception.CarlifeGlobalException;
import com.woniuxy.carlife.carlifeusermodel.dto.UserCommentDto;
import com.woniuxy.carlife.carlifeusermodel.dto.UserInfoDto;
import com.woniuxy.carlife.carlifeusermodel.param.UserInfoModifiedParam;
import com.woniuxy.carlife.carlifeusermodel.param.UserInfoParam;
import com.woniuxy.carlife.carlifeuserweb.entity.User;
import com.woniuxy.carlife.carlifeuserweb.entity.UserInfo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;

/**
 * @author zjq
 * @ClassName:UserInfoService
 * @Description:
 * @date 2021/4/6 20:02
 **/

public interface UserInfoService extends IService<UserInfo> {

    /*
     * 功能描述〈用户详情查询〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/9 22:28
     * @throws
     */

    public UserInfo findUserInfo(Integer userId) ;

    /*
     * 功能描述〈修改用户详情信息〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/9 23:42
     * @throws
     */

    public Integer modifyUserInfo(UserInfo userInfo);

    /*
     * 功能描述〈新增用户详情信息〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/10 9:39
     * @throws
     */

    public boolean addUserInfo(UserInfo userInfo);


    /*
     * 功能描述〈用户删除〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/13 0:52
     * @throws
     */



    /*
     * 功能描述〈查询余额根据用户id〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/15 16:57
     * @throws
     */

    public BigDecimal findOverageByUserId(Integer userId);


    /*
     * 功能描述〈用户详情页整合、收藏数、购物车数、余额、卡劵〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/15 15:11
     * @throws
     */

    public UserInfoDto totalDetail(Integer userId);


    /*
     * 功能描述〈用户评论详情〉
     * @author:zjq
     * @param:
     * @return:
     * @Date 2021/4/16 8:24
     * @throws
     */
    public UserCommentDto userConmmentByUserId(Integer userId);
}
